package com.punch.order.model;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.punch.common.model.SuperEntity;
import lombok.Data;
import lombok.experimental.Accessors;

import java.time.LocalDateTime;

/**
 * Order-主订单
 *
 * @author xiaol
 * @version 1.0.0
 * @since 2020/8/5 21:25
 */
@Data
@Accessors(chain = true)
@TableName("punch_order")
public class Order extends SuperEntity<Order> {

    /**
     * 主订单编号
     */
    @TableField("order_no")
    private String orderNo;

    /**
     * 创建用户id
     */
    @TableField("create_id")
    private Long createId;

    /**
     * 课程的班级id
     */
    @TableField("course_class_id")
    private Long courseClassId;

    /**
     * 订单状态 0待付款 1待开班 2已开班 3已退款 4已取消  5退款中  6教具退款中 7教具已退款 8退款拒绝 9教具退款拒绝
     * {@link com.punch.common.enums.order.OrderStatusEnum}
     */
    @TableField("order_status")
    private Integer orderStatus;

    /**
     * 课程订单金额,单位分
     */
    @TableField("course_order_fee")
    private Integer courseOrderFee;

    /**
     * 教材/教具订单金额,单位分
     */
    @TableField("material_order_fee")
    private Integer materialOrderFee;

    /**
     * 订单总金额,单位分
     */
    @TableField("total_fee")
    private Integer totalFee;

    /**
     * 是否包含教材/教具：勾选框，默认否  0否  1是
     */
    @TableField("contain_material_flag")
    private Integer containMaterialFlag;

    /**
     * 支付渠道 0-微信 1支付宝
     */
    @TableField("pay_channel")
    private Integer payChannel;

    /**
     * 微信支付订单号
     */
    @TableField("wx_transaction_id")
    private String wxTransactionId;

    /**
     * 付款时间
     */
    @TableField("pay_time")
    private LocalDateTime payTime;

    /**
     * 订单结算状态 0-未结算 1-已结算
     */
    @TableField("settlement_status")
    private Integer settlementStatus;

    /**
     * 结算时间
     */
    @TableField("settlement_time")
    private LocalDateTime settlementTime;

}
